package com.example.livemall.mapper;

import com.example.livemall.entity.Info;
import com.example.livemall.entity.Item;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface HotProductMapper {
    /**
     * 查询热销商品，根据销量排序，查询条件为城市。获取 4 条数据。
     *
     * @param city
     * @return
     */
    @Select("select * from item where city like '%${city}%' order by sales desc limit 0, 4")
    List<Item> selectHotProductList(@Param("city") String city);

    @Select("select * from info where item_id = #{item_id}")
    Info selectInfo(@Param("item_id") String itemId);

    @Select("select url from imgs where item_id = #{item_id}")
    List<String> selectImg(@Param("item_id") String itemId);

    // 查询的热销商品数量不足，需要查询其他城市的热销商品，填充到当前查询结果
    // 查询条件， 查询当前城市以外的其他城市热销商品，避免重复数据。
    @Select("select * from item where city not like '%${city}%' order by sales desc limit 0, #{size}")
    List<Item> selectOtherHotProductList(@Param("city") String city, @Param("size") Integer size);
}
